package day0108;

public class Student {
	
	// 所有的学生都有id、name、age、gender这些信息
	//所以可以抽取一个类Student来描述所有学生的信息、
	//作为一个一个的学生，还有身高、体重等信息，如果不关心这些信息，就不抽取到Student类中
	//在Student类中抽取的都是我们关心的信息
	
	//一般把这种类叫做:实体类(描述一个事物，和数据库中的表对应)；
	//实体类中不要写main方法和test方法
	private int id;
	private String name;      //都是类的属性
	private int age;		  //表达的是静态事物
	private String gender;
	
	// 构造方法没有返回值，方法名和类名一致
	//这个方法实在new Student() 生成
	//如果不写  那么系统默认提供一个无参的构造方法，只是无法看到
	public Student() {    // 这是无参构造方法
		System.out.println("Student.Student()");  
	}
	
	// 有参构造方法
	public Student(int id,String name,int age,String gender) {
		this.id = id;
		this.name = name;
		this.age = age;
		this.gender = gender;
	}
	
	
	//方法(表达的是功能)    方法的调用是----对象.方法名
	//void 返回值为空  
	public void study() {
		System.out.println("id是" + id + "的" + name +"正在学习");
	}
	
	//打印当前学生信息
	// This method must return a result of type String  这个方法必须返回字符串类型
	public String getInfor() {
		return "id=\" + id + \", name=\" + name + \", age=\" + age + \", gender=\" + gender + \"";
			
		}
		// 右键source -----toString()
		@Override
		public String toString() {
			return "Student [id=" + id + ", name=" + name + ", age=" + age + ", gender=" + gender + "]";
		}

		public int getId() {
			return id;
		}

		public void setId(int id) {
			this.id = id;
		}

		public String getName() {
			return name;
		}

		public void setName(String name) {
			this.name = name;
		}

		public int getAge() {
			return age;
		}

		public void setAge(int age) {
			this.age = age;
		}

		public String getGender() {
			return gender;
		}

		public void setGender(String gender) {
			this.gender = gender;
		}
		
		
}
